/** SFML context class ------------------------------------------------------**/
/** This classe is the base of a SFML application, for a graphic game/editor...
**/

#ifndef SFMLCONTEXT_CLASS_H_
#define SFMLCONTEXT_CLASS_H_

#include <SFML/Graphics.hpp>
#include "Base/Context.h"
#include "Base/EventObserver.h"
#include "Base/Entity.h"


class SFMLContext : public BPL::Context
{
public:
    SFMLContext();

    virtual ~SFMLContext();
    virtual void launch();
    virtual void quit();

	sf::RenderWindow* getApp() const
	{
		return mpv_app;
	}

#ifdef EDITOR_MODE
	Gwen::Renderer::SFML* getGwenRenderer() const
	{
		return mpv_gwenRenderer;
	}
#endif

private:
    sf::RenderWindow* mpv_app;
#ifdef EDITOR_MODE
	Gwen::Renderer::SFML* mpv_gwenRenderer;
#endif

};


#endif
